package com.lnsoft.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;

import java.util.Date;


public class DateUtil {
	private static String dateTime24Patten = "yyyy-MM-dd HH:mm:ss";// 大写HH表示24小时制
	private static String datePattern = "yyyy-MM-dd";
	
	public DateUtil() {
		super();
	}
	// 返回YYYY-MM-DD hh24:mi:ss 格式
	public static String getDateStr(Date date) {
		
		String lsdate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);

		return lsdate;
	}
	// 返回YYYY-MM-DD hh24:mi:ss 格式
	public static String getDateStr(String date) {
		
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		Date d = new Date();
		
		try {
			d = sf.parse(date);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		String lsdate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d);
		

		return lsdate;
	}
	
	/**
	 * @author ChongQiang,Wang
	 * 2011-11-16 16:01
	 * 
	 * 返回格式：yyyy-MM-dd hh:mm:ss
	 * 参数格式：yyyyMMddhhmmss
	 */
	public static String getDateStr2(String date){
		SimpleDateFormat to_format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		SimpleDateFormat from_format = new SimpleDateFormat("yyyyMMddHHmmss");
		try {
			date = to_format.format(from_format.parse(date));
		} catch (ParseException e) {
			e.printStackTrace();
			System.out.println("-------========== 转换时间格式失败 原格式返回============-------");
		}
		return date;
	}
	public static String getDateSubStr(String format){
		SimpleDateFormat dateFormat = new SimpleDateFormat(format);
		return dateFormat.format(new Date());
	}
	/**
	 * @author ChongQiang,Wang
	 * 17:42 2011-11-18
	 * 
	 * 参数：Date类型
	 * 返回：yyyyMMdd字符串
	 * 
	 */
	public static String getDateSubStr(){
		return new SimpleDateFormat("yyyyMMdd").format(new Date());
	}
	/**
	 * 将字符串转换为相应格式
	 * @param aMask
	 * @param strDate
	 * @return
	 * @throws ParseException
	 */
	public static final Date convertStringToDate(String aMask, String strDate)
	throws ParseException {
		SimpleDateFormat df = null;
		Date date = null;
		df = new SimpleDateFormat(aMask);
		try {
			date = df.parse(strDate);
		} catch (ParseException pe) {
			throw new ParseException(pe.getMessage(), pe.getErrorOffset());
		}
		
		return (date);
		}
	/**
	 * @description :获得当前日期时间
	 * @return
	 */
	public static String getCurrentDateTime() {
		return getFormatDateTime(dateTime24Patten, new Date());
	}
	/**
	 * 格式化日期显示格式
	 * 
	 * @param aMask
	 *            格式化后日期格式
	 * @param aDate
	 *            原始日期格式ssss
	 * @return a formatted string representation of the date 格式化后的日期显示
	 * 
	 * @see java.text.SimpleDateFormat
	 */
	public static final String getFormatDateTime(String aMask, Date aDate) {
		if(aDate == null) return "";
		SimpleDateFormat df = null;
		String returnValue = "";
		df = new SimpleDateFormat(aMask);
		returnValue = df.format(aDate);
		return (returnValue);
	}
}